using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing;

namespace WMSSystem.Domain.Workflow
{
    /// <summary>
    /// 工作流实例
    /// </summary>
    public class WorkflowInstance : AuditedAggregateRoot<Guid>
    {
        /// <summary>
        /// 工作流实例ID
        /// </summary>
        [Description("工作流实例ID")]
        [MaxLength(255)]
        public string WorkflowInstanceId { get; set; }

        /// <summary>
        /// 工作流定义ID
        /// </summary>
        [Description("工作流定义ID")]
        [MaxLength(255)]
        public string WorkflowDefinitionId { get; set; }

        /// <summary>
        /// 业务类型
        /// </summary>
        [Description("业务类型")]
        [MaxLength(50)]
        public string BusinessType { get; set; }

        /// <summary>
        /// 业务ID
        /// </summary>
        [Description("业务ID")]
        public Guid BusinessId { get; set; }

        /// <summary>
        /// 当前状态
        /// </summary>
        [Description("当前状态")]
        [MaxLength(50)]
        public string Status { get; set; }

        /// <summary>
        /// 当前步骤
        /// </summary>
        [Description("当前步骤")]
        [MaxLength(100)]
        public string CurrentStep { get; set; }

        /// <summary>
        /// 当前审批人
        /// </summary>
        [Description("当前审批人")]
        public Guid? CurrentApproverId { get; set; }

        /// <summary>
        /// 工作流数据
        /// </summary>
        [Description("工作流数据")]
        public string WorkflowData { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Description("备注")]
        public string? Remark { get; set; }



    }
} 